package edu.eas.admin.mapper;

import edu.eas.common.pojo.Role;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author cql
 */
public interface RoleMapper {

    /**
     * 获取用户对应的角色
     *
     * @param userId
     * @param userType
     * @return
     */
    List<Role> getRoleList(@Param("userId") Long userId, @Param("userType") Integer userType);

    /**
     * 获取所有角色信息
     *
     * @param roleName
     * @param status
     * @return
     */
    List<Role> getRoleAll(@Param("roleName") String roleName, @Param("status") Integer status);

    /**
     * 获取角色信息
     *
     * @param roleName
     * @param roleKey
     * @param status
     * @return
     */
    List<Role> selectListByParams(@Param("roleName") String roleName, @Param("roleKey") String roleKey, @Param("status") Integer status);

    /**
     * 新增角色
     *
     * @param role
     * @return
     */
    int insert(Role role);

    /**
     * 更新角色信息
     *
     * @param role
     * @return
     */
    int update(Role role);

    /**
     * 根据 roleKey 查找角色
     *
     * @param roleKey
     * @return
     */
    Role selectByRoleKey(String roleKey);

    /**
     * 通过角色ID查询角色
     *
     * @param roleId
     * @return
     */
    Role selectRoleById(Long roleId);

    /**
     * 批量删除角色信息
     *
     * @param roleIds
     * @return
     */
    int deleteRoleByIds(Long[] roleIds);
}
